import Vue from 'vue'
import App from './App'
// 导入第三方网络数据请求库
import { $http } from '@escook/request-miniprogram'
// 导入store仓库
import store from './store/index.js'

// 将导入的第三方网络数据请求库挂载到uni顶级对象上，就可以全局使用了
uni.$http = $http

// 配置请求根路径
$http.baseUrl = 'https://api-hmugo-web.itheima.net/'

// 请求拦截器，在请求之前做点什么
$http.beforeRequest = function(options) {
  
  if (options.url.indexOf('/my/') !== -1) {
    options.header = {
      Authorization: store.state.user.token
    }
  }
  
  uni.showToast({
    title: '数据加载中...',
    icon: "loading"
  })
}

// 响应拦截器，在请求完成后，获取数据之前做点什么
$http.afterRequest = function(options) {
  uni.hideToast()
}

// 封装请求数据失败的提示框的方法
uni.$showMsg = function(title = '请求数据失败', duration = 1500, icon = 'error') {
  uni.showToast({
    title,
    icon,
    duration
  })
}

Vue.config.productionTip = false

Vue.filter('toFixed', (num) => {
  return parseInt(num).toFixed(2)
})

App.mpType = 'app'

const app = new Vue({
	...App,
  store
})
app.$mount()
